package Listener.lab3;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 * @Description:
 * 1、在窗口中添加两个按钮，分别为“确定”和“取消”。
 * 单击“确定”按钮，窗口标题栏显示“你单击了确定按钮”。
 * 单击“取消”按钮，窗口标题栏显示“你单击了取消按钮”。
 * 要求采用五种方式实现事件监听器：本类、外部类、内部类、匿名类、lambda表达式。
 * @Author:AMark
 * @Date: 10/30/2023
 */
public class ButtonDemo_self implements ActionListener{
    private JButton buttonok,buttoncancel;
    private JFrame Buttonframe;
    ButtonDemo_self(String title) {
        Buttonframe = new JFrame(title);
        Buttonframe.setSize(260, 150);
        Buttonframe.setLayout(new FlowLayout());

        buttoncancel = new JButton("取消");
        buttonok = new JButton("确定");
        buttoncancel.setSize(20, 20);
        buttonok.setSize(20, 20);

        //方法一：将本类注册为监听器
        buttonok.addActionListener(this);
        buttoncancel.addActionListener(this);




        Buttonframe.add(buttoncancel);
        Buttonframe.add(buttonok);
        Buttonframe.setVisible(true);
        Buttonframe.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
    @Override
    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == buttoncancel) {
            Buttonframe.setTitle("你单击了取消按钮");
        } else if (e.getSource() == buttonok) {
            Buttonframe.setTitle("你单击了确认按钮");
        }
    }

    public static void main(String[] args) {
        new ButtonDemo_self("内部类测试");
    }
}
